Fix 64bit shadow tracking
authortdeegan@york.uk.xensource.com <tdeegan@york.uk.xensource.com>
Thu, 17 Aug 2006 17:39:10 +0000 (18:39 +0100)
committertdeegan@york.uk.xensource.com <tdeegan@york.uk.xensource.com>
Thu, 17 Aug 2006 17:39:10 +0000 (18:39 +0100)
(The mask used to check for available shadows was off by 1 bit)

Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
xen/include/asm-x86/shadow2.h

index 94de7781f8321efff6d91d12b9864baee3b5c480..307cff097c35a448239c3e8e5b260ebedbaca49b 100644 (file)
@@ -489,7 +489,7 @@ shadow2_guest_physmap_remove_page(struct domain *d, unsigned long gfn,
  */
 #define PGC_SH2_type_to_index(_type) ((_type) >> PGC_SH2_type_shift)
 #define SH2F_page_type_mask \
-    (((1u << PGC_SH2_type_to_index(PGC_SH2_max_shadow + 1u)) - 1u) - \
+    (((1u << (PGC_SH2_type_to_index(PGC_SH2_max_shadow) + 1u)) - 1u) - \
      ((1u << PGC_SH2_type_to_index(PGC_SH2_min_shadow)) - 1u))
 
 #define SH2F_L1_32   (1u << PGC_SH2_type_to_index(PGC_SH2_l1_32_shadow))